home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / net / spoolwatch.lha / SpoolWatch / Src / SpoolWatch.h < prev    next >
C/C++ Source or Header  |  1995-09-28  |  4KB  |  139 lines

  1.  
  2. /*
  3.  *    Header        SpoolWatch.h
  4.  *    Programmer    N.d'Alterio
  5.  *    Date        09/09/95    
  6.  *
  7.  *  Synopsis:    Header for SpoolWatch program
  8.  *
  9.  * $Id: SpoolWatch.h 2.7 1995/09/28 00:16:50 daltern Exp $
  10.  *
  11.  *
  12.  */
  13.  
  14. /*========================================================================*
  15.                      INCLUDES
  16.  *========================================================================*/
  17.  
  18. #include <nick/stdnick.h>
  19. #include <dos/dos.h>
  20. #include <dos/rdargs.h>
  21. #include <dos/notify.h>
  22. #include <exec/types.h>
  23. #include <exec/memory.h>
  24. #include <exec/ports.h>
  25. #include <intuition/intuition.h>
  26. #include <intuition/gadgetclass.h>
  27. #include <workbench/workbench.h>
  28. #include <workbench/startup.h>
  29. #include <devices/timer.h>
  30. #include <graphics/gfxbase.h>
  31. #include <clib/exec_protos.h>
  32. #include <clib/dos_protos.h>
  33. #include <clib/icon_protos.h>
  34. #include <clib/intuition_protos.h>
  35. #include <clib/gadtools_protos.h>
  36. #include <clib/alib_protos.h>
  37.  
  38. /*========================================================================*
  39.                               DEFINITIONS
  40.  *========================================================================*/
  41.  
  42. #define WB_START    0
  43. #define CLI_START    1
  44.  
  45. /*
  46.  *   Types
  47.  */
  48.  
  49. #define NEWS_TYPE    'N'
  50. #define MAIL_TYPE    'T'
  51.  
  52. /*
  53.  *   Default program values.
  54.  */
  55.  
  56. #define MAIL_SPOOLDIR    "AmiTCP:Usr/Spool/Mail/"
  57. #define NEWS_SPOOLDIR    "AmiTCP:Usr/Spool/News/"
  58. #define UPD_DELAY    10
  59. #define WIN_LEFT    0
  60. #define WIN_TOP        0
  61.  
  62. #define SCREEN_TITLE    "SpoolWatch v2 ⌐ Nick d'Alterio 1995"
  63.  
  64. /*
  65.  *   Max length for address or newsgroup name
  66.  */
  67.  
  68. #define MAX_DEST_LEN    35L
  69. #define FULLINFO_LEN    66L
  70.  
  71. /*========================================================================*
  72.                                DATATYPES
  73.  *========================================================================*/
  74.  
  75.  
  76. struct SWArgs {
  77.  
  78.     int start;            /* flag to show if WB or CLI start  */
  79.  
  80.     int nogui;            /* Don't display GUI if TRUE (CLI)  */
  81.     int full;            /* Give full listing (CLI)          */
  82.  
  83.     long int win_top;        /* top edge of window               */
  84.     long int win_left;        /* left edge of window              */
  85.  
  86.     char *mail_spooldir;        /* path to mail spool directory     */
  87.     char *news_spooldir;        /* path to news spool directory     */
  88.  
  89.     int  delay;            /* Number of second between updates */
  90.  
  91.     };
  92.  
  93. struct FullInfo {
  94.  
  95.     long int     fi_size;    /* Article size               */
  96.  
  97.     int        fi_days;    /* Days in queue           */
  98.     int        fi_hours;    /* Hours in queue           */
  99.     int        fi_mins;    /* Minutes in queue           */
  100.  
  101.     char        fi_dest[MAX_DEST_LEN];    /* Destination            */
  102.  
  103.     struct FullInfo *fi_next;    /* Next full info structure       */
  104.     
  105.     };
  106.  
  107.  
  108. /*========================================================================*
  109.                                MACROS
  110.  *========================================================================*/
  111.  
  112. /*========================================================================*
  113.                               PROTOTYPES
  114.  *========================================================================*/
  115.  
  116. extern void             FreeProgArgs( struct SWArgs * );
  117. extern void              FreeFullInfo( struct FullInfo * );
  118. extern void         FreeIntuiText( struct IntuiText * );
  119. extern void             SpoolCLI( struct FullInfo *, struct FullInfo * );
  120. extern void              DateDiff( struct DateStamp, struct DateStamp, int *, int *, int * );
  121. extern void         StopStrAt( char *, char );
  122. extern void         SWError( struct SWArgs *, struct Window *, char * );  
  123. extern void              UpdateTitleStr( char *, struct FullInfo *, struct FullInfo * );
  124. extern void         PrintFullInfo( struct FullInfo * );
  125. extern int               CountSpool( struct FullInfo * );
  126. extern int             GetDest( char *, char, char * );
  127. extern int               HandleEvents( struct Window *, struct Gadget *, struct IntuiText *, struct SWArgs *, struct FullInfo *, struct FullInfo * );
  128. extern int             SpoolWindow( struct SWArgs *, struct FullInfo *, struct FullInfo * );
  129. extern int         MaxLinesForScreen( struct Window *, struct Gadget * );
  130. extern struct FullInfo  *FullSpoolInfo( struct SWArgs *, char );
  131. extern struct IntuiText *AllocIntuiText( struct IntuiText * );
  132. extern struct IntuiText *BuildIntuiText( struct IntuiText *, struct FullInfo *, int );
  133. extern struct SWArgs    *ProgArgsCLI( void );
  134. extern struct SWArgs    *ProgArgsWB( char ** );
  135.  
  136. /*========================================================================*
  137.                                   END
  138.  *========================================================================*/
  139.